package com.company.aop.service;

import com.company.aop.pojo.Account;

import java.util.List;


/**
 * @date : 2022/3/25 21:20
 * 服务层接口
 */

public interface IAccountService {

    /**
     * 保存账户
     */
    boolean saveAccount(Account account);

    /**
     * 根据id查找账户信息
     *
     * @param id
     * @return
     */
    Account findById(Integer id);

    /**
     * 获取账户列表
     *
     * @return
     */
    List<Account> getAll();

    /**
     * 更新账户
     *
     * @param account
     */
    boolean updateAccount(Account account);

    /**
     * 删除账户
     *
     * @param id
     */
    boolean deleteAccount(Integer id);


    /**
     * 用于两个用户的转账
     *
     * @param sourceAccountId 源账户
     * @param targetAccountId 目标账户
     * @param money           转账金额
     */
    boolean transfer(Integer sourceAccountId, Integer targetAccountId, Double money);
}
